package com.bicon.botu.mall.member.service;

import com.baomidou.mybatisplus.service.IService;
import com.bicon.botu.mall.member.dto.CartDto;
import com.bicon.botu.mall.member.dto.LogisticsCenterDto;
import com.bicon.botu.mall.member.dto.ProductDto;
import com.bicon.botu.mall.member.entity.Cart;
import com.bicon.botu.mall.member.dto.ProductSkuDto;

import java.util.List;

/**
 * 购物车服务类
 *
 * @author 张露晨
 * @date 2017-07-19
 */
public interface ICartService extends IService<Cart> {

    /**
     * 根据产品信息id查询产品信息
     *
     * @param productInfoId 产品信息id
     * @return
     */
    List<CartDto> selectProduct(String productInfoId);


    /**
     * 根据产品信息id查询产品库存数量
     *
     * @param productInfoId 产品信息id
     * @return
     */
    Integer selectProductNum(String productInfoId);

    /**
     * 根据产品信息id查询产品信息
     *
     * @param productInfoId 产品信息id
     * @return
     */
    ProductDto selectProductInfo(String productInfoId);

    /**
     * 根与产品path查询该商品的优惠卷
     *
     * @param pathList
     * @return
     */
    List<ProductSkuDto> selectCouponsByPath(List<String> pathList);

    /**
     * 根据产品信息id查询产品所有规格
     *
     * @param productInfoId 产品信息id
     * @return
     */
    List<ProductSkuDto> selectProductSku(String productInfoId);

    /**
     * 根据商品id查询物流信息
     *
     * @param productId 商品id
     * @return
     */
    LogisticsCenterDto selectLogisticsCenter(String productId);

    /**
     * 根据商品信息id茶U型年该商品是否上架
     *
     * @param productInfoId 产品信息id
     * @return
     */
    String selectProductState(String productInfoId);

    /**
     *  删除购物车
     * @param productRepertoryId
     * @param userId
     * @return
     */
    Boolean deleteCart(List<String> productRepertoryId,String userId);

}
